<?php
class Marca extends AppModel {

    var $name = 'Marca';

    var $displayField='descripcion';
    var $belongsTo = array(
            'TipoMarca' => array(
                    'className' => 'TipoMarca',
                    'foreignKey' => 'tipo_marca_id',
                    'fields' => array('id','codigo','descripcion')
            )
    );

  
  var $validate=array(
    'codigo'=>array(
      'regla1'=>array(
        'rule'=>'alphaNumeric',
        'message'=>'solo valores alfanuméricos'
      ),      
      'regla2'=>array(
        'rule'=>'isUnique',
        'message'=>'debe ser valor único'
      ),
      'regla3'=>array(
        'rule'=>'notEmpty',
        'message'=>'debe ingresar un valor'
      )
    ),
    'descripcion'=>array(
      'regla4'=>array(
        'rule'=>'notEmpty',
        'message'=>'debe ingresar una descripción'
      )
    ),
    'tipo_marca_id'=>array(
      'regla5'=>array(
        'rule'=>'notEmpty',
        'message'=>'debe seleccionar un tipo de marca'
      ),
      'regla6'=>array(
        'rule'=>'numeric',
        'message'=>'debe seleccionar un tipo de marca'
      )
    )
  );
	
	function get_nuevo_codigo(){
		$codigo = $this->find('first', array(
			'recursive'=>-1, 
			'fields'=>array('max(regexp_replace("Marca"."codigo", \'[^0-9]\', \'\', \'gi\')) as codigo'),
			'conditions'=>array('Marca.codigo !~ \'[ a-z]|[A-Z]\'')
		));
		$ceros = str_repeat('0',5-strlen((int)$codigo[0]['codigo']+1));		
		return  $ceros.((int)$codigo[0]['codigo'] + 1);
	}   
}   
?>